Apparatus and method for processing coded information stored in an integrated circuit card

ABSTRACT

The present invention relates to a method and a device for processing coded information stored on an integrated circuit card. A system includes a card reader adapted to receive the integrated circuit card and to read and write data values from an encrypted memory structure of the integrated circuit card. A processor electrically coupled to the card reader includes instructions for executing an algorithm that, in response to insertion of the integrated circuit card into the card reader, extracts information from one or more files stored in the encrypted memory, updates the files based on a current date and information extracted from the files. A display terminal electrically coupled to the processor displays information resulting from the execution of the algorithm. Thus, with the invention, it is possible to alter an operation on the basis of previous operations performed using the integrated circuit card. A method according to the invention includes steps of inserting the integrated circuit card into one of a plurality of card readers and processing the coded information stored thereon in accordance with the algorithm, which can be different for different card readers.

[0001] This application is a continuation of U.S. Pat. No. 6,419,161, issued Jul. 16, 2002, which is a continuation of U.S. application Ser. No. 08/786,547 filed Jan. 21, 1997, which claims priority to French application Ser. No. 96 00678, filed in France on Jan. 22, 1996.

[0002] The present invention relates to a method of processing coded information stored on an integrated circuit card.

[0003] It also relates to a system for implementing such a method.

[0004] The present invention finds application in the field of the processing coded integrated circuit cards that can be processed in card readers at a plurality of different locations. Each card reader is electrically coupled to a processor containing an algorithm that extracts information from one or more data files on the integrated circuit file, processes the data, and updates the data files based on prior uses of the integrated circuit card.

[0005] Thus, with the invention, it is possible to alter an operation on the basis of previous operations performed using the integrated circuit card.

[0006] A method is already known which enables specific benefits to be granted depending on the behavioral attitude of customers, and which consists essentially in sending a discount coupon through the post, shortly after the operation initiating purchase or payment by the holder.

[0007] Such a method has drawbacks. In fact it generates considerable delays and is of limited reliability (loss of coupons, change of address).

[0008] One of the technical problems solved by the invention consists in eliminating these considerable delays, by granting a benefit to the customer at the actual time of payment by the latter or more generally of the operation initiating the benefit.

[0009] According to the invention, the merchant will thus be able to recognize a customer on the basis of the frequency with which he calls in and of the size of his spending. It will then be possible to grant him a specified definite benefit automatically and instantaneously.

[0010] For this purpose the invention proposes in particular a method of processing coded information during a purchase or payment operation by a customer, holder of a card with a chip, at a merchant, in which the contents of the memory of the chip card are read and a coupon is or is not printed on the basis of the information arising from the contents of said memory, characterized in that, with the memory of the chip card including a first identification file, termed the Member file, identifying the card-holding customer, a second accounting file, termed the Points file, and a third file, termed the Behavior file, relating to the behavior of the card holder towards the merchant or merchants, a specified algorithmic processing is performed dependent, on the one hand, on the date of the operation and, on the other hand, on the information contained in said files, including the Behavior file, then data is written to the Points file, new information is written to the Behavior file, and said coupon is or is not printed on the basis of the result of said algorithmic processing.

[0011] Advantageous embodiments resort moreover to one and/or other of the following provisions:

[0012] the algorithmic processing includes a step of incrementing or decrementing the Points file by a pre-specified number of points;

[0013] the coupon is only printed if the number of points contained in the Points file is greater than a specified value;

[0014] the coupon is only printed and/or the Points file is only incremented or decremented if the Member file corresponds to specified criteria;

[0015] the Points file is incremented more or less depending on the amount of the purchase or payment operation;

[0016] the Points file is incremented more or less depending on frequency and/or on the nature of first, second or xth visit by the card holder over a period of time of specified duration;

[0017] information corresponding to the operation is entered into a memory of a payment terminal located on the premises of said merchant, said entered information is compared with information stored in storage means and relating to pre-specified series of operations, and the results of these comparisons are processed in order to print a coupon and/or write to the Points file.

[0018] It is thus possible to undertake promotional operations which are limited in time and pertain to a collection of merchants belonging to the same network.

[0019] access to the files is enciphered through a so-called triple DES (Data Encryption Standard) encryption procedure.

[0020] The invention also proposes a device for processing coded information, during a purchase or payment operation by a user, holder of a card with a chip, comprising means for reading coded data from the memory of the chip card, computation means and means of printing a coupon, characterized in that, with the memory of the chip card including a first identification file, termed the Member file, identifying the card-holding customer, a second accounting file, termed the Points file, and a third file, termed the Behavior file, relating to the behavior of the card holder towards the merchant or merchants, the computation means include means of specified algorithmic processing dependent, on the one hand, on the date of the operation and, on the other hand, on the information contained in said files, including the Behavior file, and in that the device includes means for writing new information to the Points file and to the Behavior file on the basis of said specified algorithmic processing, the means of printing a coupon being configured so as to print or not print said coupon on the basis of the information arising from the contents of said files and from said algorithmic processing.

[0021] Advantageously, the device moreover includes:

[0022] means of entering data corresponding to said operation into a memory for intermediate storage and display of data,

[0023] means of storing coded information relating to one or more operations,

[0024] means of comparing between the data entered into said intermediate memory and information stored in said information storage means,

[0025] means of processing the results of these comparisons,

[0026] and means configured so as automatically to print or not print the coupon on the basis of the information arising from the contents of the memory of the chip card, and controlled by said means of processing said results.

[0027] The invention will be better understood on reading the description which follows of a particular embodiment given by way of non-limiting example.

[0028] The description refers to the drawings which accompany it and in which:

[0029]FIG. 1 shows a general diagram of a device according to an embodiment of the invention.

[0030]FIG. 2 is a partial block diagram of an embodiment of the memory of the chip card in the device according to the invention.

[0031]FIG. 3 is a block diagram charting the method of processing information according to the embodiment of the invention more particularly described here.

[0032]FIG. 1 shows a device 1 comprising a payment terminal 2 furnished with a reader 3 for a card 4 with a chip 5.

[0033] The payment terminal is for example of the type marketed under the reference Delta 15 by the French company Schlumberger.

[0034] The chip cards which can be used with the invention are for example cards sold under the references MP-COS by the French company Gemplus or ME 2000 by the French company Schlumberger.

[0035] They can be bank cards, personal credit cards or loyalty cards.

[0036] The terminal 2 comprises a keyboard 6, a display screen 7 and a processor 8 which can be programmed on the basis of specified algorithms in a manner known per se.

[0037] The processor 8 is connected to the reader 3 via a read/write circuit and to a microcomputer 9 itself connected to a mass memory 10.

[0038] The device 1 also comprises means 11 for printing a coupon 12 connected to the processor 8 and to a cash till 13 and invoice printer, for example via a computer 9.

[0039] The processor 8 is connected, possibly via the computer 9, to means (not represented) which are wholly remote from the site on which the device 1 is installed and which are configured so as to ensure the consistency of the processing and/or of the information processed and collected by various devices on various sites.

[0040] Depicted in FIG. 2 is the organization of an embodiment of the memory 14 of the chip 5 of the card 4.

[0041] The card comprises several applications, the memory 14 comprising a main directory or root 15.

[0042] It is organized into directories 16, 17, etc.

[0043] The information relating to the card holder or bearer is contained in a file 18 termed the Member file, under the main directory 15.

[0044] A System directory 16 is provided which comprises for example a file 19 relating to the card itself and other types of files 20 known per se.

[0045] According to the embodiment of the invention more particularly described here, the memory 14 comprises a directory 17 termed the “Couponing Directory” which comprises the Behavior file 21 and the Points file 22.

[0046] Embodiments of the Member file 18, the Behavior file 21 and the Points file 22 according to the invention are described below by way of example.

[0047] Member File 18

[0048] Read code: Free

[0049] Update code: RCode01 Field Format Width Card number 999999999 9 Type Alpha 2 Version 99 2 Present applications Y/N 9 Month/year of customization yymm 4 (manufacture) Month/year of 1st use yymm 4 Month/year of expiry yymm 4 Reserved Alpha 46

[0050] Behavior File 21

[0051] Read code: Free

[0052] Update code: Rcode12 Field Format Width Max number of merchants 99 2 Number of merchants recorded 99 2 Reserved Alpha 16

[0053] Points File 22 (Points Counter)

[0054] Balance read key: Free

[0055] Debit key: RKdeb1

[0056] Credit key: RKcred1

[0057] PIN (for access to the debit): Rcode13

[0058] In an advantageous embodiment, provision is made for management of the security of the information in the card by encrypting the codes on the basis of the card numbers.

[0059] The application comprises for example two file access codes and two Points file access keys. The mother codes or the mother keys are incorporated into the terminal 2.

[0060] They are used to compute diversified codes and keys, which will subsequently be compared with the codes and keys built into the card. Each card comprises its own unique set of codes and keys.

[0061] This diversification is achieved through the triple DES (Data Encryption Standard) procedure, applied both to the mother codes (or the mother keys) and the card number.

[0062] The mother codes and mother keys incorporated into the terminal are for example: Code01 Mother code for updating the Member file Code12 Mother code for updating the Behavior file Kauth1: Mother key for authenticating the Points file Kcred1: Mother key for crediting the Points file

[0063] The mother codes or the mother keys are moreover and for example diversified as follows:

[0064] 1. The mother codes or the mother keys (16 bytes) are split into two equal parts of 8 bytes KL (left part) and KR (right part)

[0065] 2. N (the first 8 bytes of the card No.) is enciphered by KL: R1=DES(KL,N)

[0066] 3. R1 on 8 bytes is deciphered by KR: R2=DES-1 (KR,R1)

[0067] 4. R2 on 8 bytes is enciphered by KL: R=DES(KL,R2)

[0068] R is the result on 8 bytes of the triple DES diversification of a code or a mother key and therefore represents the value built into the card.

[0069] An example of the operation of the device of FIG. 1 will now be described with reference to FIG. 3.

[0070] The customer user, holder of the card, enters the card 4 into the reader 3 (step 30), and the Member, Behavior and Points files are then read (step 32).

[0071] A test step 34 on the validity of the card (date of expiry) is then performed by comparison with today's date.

[0072] Next the amount of the purchase is entered (step 36) either via the till 13 and the microcomputer 9, or via the keyboard 6.

[0073] If the total is greater than a specified value (test 38), an algorithmic processing 40 is then performed on the basis of the information contained in the Member file, the Behavior file and the Points file.

[0074] The operation leads to a step 42 of incrementing the Points file by a specified number of points based, for example, on the number of operations performed by the card holder within the month.

[0075] Otherwise (step 44), the screen 7 displays for example a “no discount” message.

[0076] A test step 46 is provided next which compares the number of points in the Points file with a specified threshold size.

[0077] If the number of points is less than this value, a message is output at 48. If it is greater, a discount coupon for a specified amount is printed (step 50).

[0078] The invention thus enables the card holder to obtain two types of benefit separately or simultaneously:

[0079] a points credit on an electronic points counter in the chip of the card,

[0080] a discount voucher printed at the time of the purchase, to be set against the current purchase or a later purchase.

[0081] Several examples of operation are given below.

[0082] The merchant can choose, for example, to allot 2 points to his customers on their first visit of the month, 4 points with the second visit and 6 points with the third visit each month.

[0083] Another merchant may choose to link the points credit to a transaction amount. Thus, with his first visit, the customer will receive, for example, a number of points equal to 10% of his purchase. For every subsequent visit, the points credit will be 5%.

[0084] Another merchant will choose to offer a discount voucher to be set against a purchase from him. For example, the merchant may grant a 25% discount to customers of his who come in for the first time, and 10% to the others.

[0085] The discount voucher can have a value in terms of points. In this case, the voucher is given to the customer against a points debit. For example, the merchant introduces a 25% discount voucher against an amount of 10 points—the voucher will be printed only if the card has a minimum of 10 points.

[0086] The invention also makes it possible to target specific cards. The merchant identifies beforehand the numbers of the cards in the Member file, which will receive a benefit during their later visits.

[0087] This list of cards can also be downloaded by a central system via the external link described with reference to FIG. 1.

[0088] An advantage of the invention is to be able to formulate offers on the basis of customer behavior at other merchants, each merchant belonging to a “business group”, identified by a field present in the Behavior file described above.

[0089] This aspect of the invention can thus be used to identify the customers who spend little at the merchant, but a lot in a business sector close to that of the merchant. Customers thus identified can therefore be introduced to greater benefits.

[0090] Below is given an example of the parametrization of the algorithm for issuing benefits according to the invention.

[0091] Parametrization of the Algorithm Category Parameter Nature Description General Minimum Amount in Threshold below Parameters purchase Centimeters which the operation is too small to be regarded as a visit One visit per Yes Only the first opera- day? tion within one day will be regarded as a visit No N operations within one day = N visits Multi-visit Not activated Apply the parameters function of “Visit 1” for every visit. Do not update the Behavior file in the card same Month Distinguish between 1^(st), 2^(nd) and 3^(rd) visit in one month same Year . . . in one year since creation . . . since the creation of card of the card Threshold Amount Threshold for the bonus issuing of bonus points Points bonus 999 Amount of bonus points Parameters Points Not activated No points credit or Visit 1 computation debit at the first visit Credit Debit Points Fixed The “Points Value” computation field is a fixed total of points Percentage The “Points Value” field is a percentage of the amount of the operation Points value 999 Value in points (up to 999), or as a percent- age (up to 99.9%) Text of coupon Not activated No additional message to be printed on the receipt ASCII Print 2 rows of 20 2 × 20 characters, plus the info relating to the old balance, points ac- quired, and new balance Parameters Points function cf Visit 1 visit 2 Points computation Points value Text of coupon Parameters Points function cf Visit 1 visit 3 Points computation Points value Text of coupon Parameters Points function cf Visit 1 visits 4 and + Points computation Points value Text of coupon

[0092] As is self-evident, and as results from the foregoing, the present invention is not limited to the embodiment of the invention more particularly described here. On the contrary it embraces all variants thereof and especially those in which the algorithmic processing is remotely programmable. 

1. A system for dynamically storing and retrieving information in a storage medium, comprising in combination: an integrated circuit card having a memory structure partitioned into a first file containing information identifying the integrated circuit card, a second file containing a plurality of data records each comprising information pertaining to prior uses of the integrated circuit card, and a third file comprising an accumulation value that is incremented in accordance with a plurality of different algorithms; a card reader adapted to receive the integrated circuit card and to read and write data values to and from the memory structure of the integrated circuit card; a processor electrically coupled to the card reader and including processor instructions for executing an algorithm that, in response to insertion of the integrated circuit card into the card reader, extracts information from one of the data records in the second file, writes to the one data record in the second file based on a current date and the information extracted from the one data record in the second file, and increments the accumulation value in the third file based on the information extracted from the one data record in the second file; and an output device that outputs information resulting from the execution of the algorithm executed in the processor.
 2. The system of claim 1, wherein the output device comprises a display terminal electrically coupled to the processor.
 3. A method of conducting a transaction with a cardholder using an integrated circuit card that includes a first memory area that identifies the card, a second memory area capable of storing a plurality of records each containing data relating to the cardholder's purchasing behavior at a specific one of a plurality of different merchants, wherein each merchant operates an independent promotional program in conjunction with the integrated circuit card, and a third memory area separate from the second memory area and comprising an accumulation value that can be incremented by one or more of the plurality of different merchants, the method comprising the steps of: (1) upon insertion of the integrated circuit card into a card reader located at one of the plurality of different merchants, reading information from the first memory area and the second memory area and receiving a transaction amount corresponding to the transaction; (2) applying a merchant-specific algorithm that pertains to the promotional program for the one merchant with whom the transaction is being conducted, wherein the merchant-specific algorithm writes to one of the records in the second memory area and generates an electronic benefit value that is dependent on the date of the transaction and on the cardholder's prior purchasing behavior at that merchant, wherein the merchant-specific algorithm is independent from algorithms operated by others of the plurality of different merchants; and (3) providing a merchant-specific benefit to the cardholder on the basis of the electronic benefit value.
 4. The method of claim 3, wherein step (2) comprises the step of generating an electronic benefit value that is dependent upon a number of transactions performed by the cardholder at the one merchant within a predetermined time period.
 5. A computer readable medium storing computer readable instructions that, when executed by a processor, cause a computer system to perform a method comprising: reading first data from an integrated circuit card corresponding to a first user, wherein said first data comprises information corresponding to said first user and information corresponding to interactions of said first user with a second user; modifying said first data when a first predefined condition based at least on said first data is met, wherein said first predefined condition is based at least on whether said first user has previously interacted with said second user within a predetermined amount of time; and determining whether to grant a benefit based on said modified first data meeting a second predefined condition.
 6. The computer readable medium of claim 5, wherein said first user is a customer of said second user.
 7. The computer readable medium of claim 5, wherein the computer performed method further comprises writing said modified first data back to a memory of said integrated circuit card.
 8. The computer readable medium of claim 5, wherein said predetermined amount of time comprises a current day.
 9. The computer readable medium of claim 5, wherein said computer readable instructions further perform the step of receiving second data from an input device corresponding to the second user, and wherein said first predefined condition is based at least on said second data.
 10. The computer readable medium of claim 9, wherein said second data comprises an amount of a transaction between said first user and said second user, and wherein said first predefined condition is based on said transaction amount.
 11. The computer readable medium of claim 9, wherein said input device comprises a data processing device.
 12. The computer readable medium of claim 11, wherein said data processing device comprises a till.
 13. The computer readable medium of claim 11, wherein said data processing device comprises a microcomputer.
 14. The computer readable medium of claim 5, wherein said second user comprises a merchant.
 15. The computer readable medium of claim 5, wherein said first data is encrypted.
 16. A computer readable medium storing computer readable instructions that, when executed by a processor, cause a computer system to perform a method of granting a customer a benefit, said method comprising: reading from an integrated circuit card corresponding to said customer, data relating to said customer and transactions between said customer and a merchant, said data comprising a benefit determination value; receiving a transaction amount from an input device; when a first predefined condition is met, modifying the benefit determination value; granting a benefit to said customer when said modified benefit determination value meets a second predefined condition.
 17. An integrated circuit card corresponding to a customer, comprising: a first set of information corresponding to said customer; a second set of information corresponding to merchants with whom said customer transacts, wherein said second set of information comprises a first value corresponding to a number of merchants that said integrated circuit card can record, and a second value corresponding to a number of merchants that said integrated circuit card has recorded; and a third set of information corresponding to transactions between said customer and said merchants.
 18. The integrated circuit card of claim 17, wherein said first set of information comprises: a type of said card; a version of said card; an indicator corresponding to the presence of applications; and a date of first use.
 19. The integrated circuit card of claim 17, wherein said third set of information comprises a record for each of said merchants, each record comprising a merchant code identifying the each of said merchants to which the record corresponds, and cumulative numeric information corresponding to said transactions between said customer and said each of said merchants to which the record corresponds.
 20. The integrated circuit card of claim 19, wherein said cumulative numeric information comprises a total amount of money spent by said customer at said each of said merchants to which the record corresponds.
 21. The integrated circuit card of claim 19, wherein said field for cumulative numeric information comprises a total number of visits by said customer to said each of said merchants to which the record corresponds.
 22. The integrated circuit card of claim 19, wherein each record further comprises: a business code identifying a type of business of the each of said merchants to which the record corresponds, a date of first visit to the each of said merchants to which the record corresponds, a date of last visit to the each of said merchants to which the record corresponds; a number of visits during a current month by said customer to the each of said merchants to which the record corresponds; an amount of money spent by said customer during a current month at the each of said merchants to which the record corresponds; a number of visits by said customer during a current year to the each of said merchants to which the record corresponds; and an amount of money spent by said customer during a current year at the each of said merchants to which the record corresponds.
 23. The integrated circuit card of claim 17, wherein each set of information is encrypted.
 24. A system for allowing a merchant to grant a benefit to a customer at the time of a transaction, said system comprising: a card reader that allows an integrated circuit card to be inserted and read for data stored thereon; an input device for inputting an amount of said transaction; a data processing device that determines whether said benefit will be granted to said customer by executing an algorithmic process based on one or more predefined conditions, wherein said merchant can modify said predefined conditions in order to customize the system of granting benefits; and an output device for outputting a result of said determination.
 25. The system of claim 24, wherein said predefined conditions may be modified based on transactions between customers and other merchants of a similar business type. 